setTimeout(() => {
  console.log(1)
})

new Promise((resolve) => {
  console.log(2)
  resolve()
}).then(() => {
  console.log(3)
})

console.log(4)
// 2
// 4
// 3
// 1
